package main

import "fmt"

//go语言闭包的使用
func main() {

	//一个函数和与其相关的引用环境组合的一个整体

	//计数器

	a := AddUpper()
	fmt.Println(a(36))
	fmt.Println(a(36))
	fmt.Println(a(36))
}

//闭包的说明

//
func AddUpper() func(int) int {
	var n int = 10
	var str = "hello"
	return func(i int) int {
		n += i
		str += string(i)
		fmt.Println(str)
		return n
	}
}
